The present invention relates generally to interconnection architecture, and particularly to interconnecting multiple processors with multiple shared memories.
Advances in the area of computer graphics algorithms have led to the ability to create realistic and complex images, scenes and films using sophisticated techniques such as ray tracing and rendering. However, many complex calculations must be executed when creating realistic or complex images. Some images may take days to compute even when using a computer with a fast processor and large memory banks. Multiple processor systems have been developed in an effort to speed up the generation of complex and realistic images. Because graphics calculations tend to be memory intensive applications, some multiple processor graphics systems are outfitted with multiple, shared memory banks. Ideally, a multiple processor, multiple memory bank system would have full, fast interconnection between the memory banks and processors. For systems with a limited number of processors and memory banks, a crossbar switch is an excellent choice for providing fast, full interconnection without introducing bottlenecks.
Conventional crossbar architectures transmit memory transactions from the processor to the memory banks, and transmit corresponding results from the memory banks to the processor. In such systems the need arises to provide a mechanism that allows the processor to associate each result returning from memory with the memory transaction that produced that result. One conventional solution is transaction tagging. According to this technique, the processor adds a unique tag to each memory transaction. When a memory bank generates a result for the memory transaction, it adds the tag to the result. One disadvantage of this technique is the bandwidth consumed by the tags themselves.